import logging
from redis import StrictRedis


# 创建项目配置(父)类
class Config(object):
    # 开启debug模式
    DEBUG = True
#     数据库链接配置
    SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@127.0.0.1:3306/re_information"
    # 不跟踪数据库修改
    SQLALCHEMY_TRACK_MODIFICATIONS = False
#     redis数据库配置
    REDIS_HOST = "127.0.0.1"
    REDIS_PORT = 6379
    REDIS_NUM = 6
    """工程配置信息"""
    # 设置加密字符串
    SECRET_KEY = "EjpNVSNQTyGi1VvWECj9TvC/+kq3oujee2kTfQUs8yCM6xX9Yjq52v54g+HVoknA"
    # flask_session的配置信息
    SESSION_TYPE = "redis"  # 指定 session 保存到 redis 中
    # session数据需要加密
    SESSION_USE_SIGNER = True  # 让 cookie 中的 session_id 被加密签名处理
    # 指明数据库实例对象
    SESSION_REDIS = StrictRedis(host=REDIS_HOST, port=REDIS_PORT)  # 使用 redis 的实例
    # 默认存储有效时长
    PERMANENT_SESSION_LIFETIME = 86400  # session 的有效期，单位是秒
    # 不设置永久储存
    SESSION_PERMANENT = False


class DevelopmentConfig(Config):
    # 开发阶段的项目配置
    # 开启调试模式
    DEBUG = True
    # 设置日志等级
    LOG_LEVEL = logging.DEBUG


class ProductionConfig(Config):
    # 生产阶段的项目配置
    # 开启调试模式
    DEBUG = False
    # 设置日志等级
    LOG_LEVEL = logging.WARNING
    # 修改数据库链接对象
    # SQLALCHEMY_DATABASE_URI = "mysql://root:mysql@服务器IP地址:3306/re_information"


# 暴露一个接口给外面调用
config_dict = {
    "development": DevelopmentConfig,
    "production": ProductionConfig
}